CM
<
O
o>
o
(19)
(12)
Europalsches Patentamt
European Patent Office
Off Ice europ6en des brevets (11) EP 1 004 970 A2
EUROPEAN PATENT APPLICATION
(43) Date of publication:
31.05.2000 Bulletin 2000/22
(21) Application number: 99119351.7
(22) Date of filing: 29.09.1 999
(51) Int. CI. 7 : G06F 17/60, G07F 17/32,
A63F 13/00
(84) Designated Contracting States:
(72) Inventors:
AT BE CH CY DE DK ES R FR GB GR iE IT LI LU
* Wells, Bill
MCNLPT SE
Reno, Nevada 89502 (US)
Designated Extension States:
• Wilder, Richard
AL LT LV MK RO SI
Sparks, Nevada 89436 (US)
(30) Priority: 14.10.1998 US 172786
(74) Representative:
Manitz, Finsterwald & Partner
(71) Applicant:
Postfach 221611
International Game Technology
80506 Munchen (DE)
Reno, Nevada 89511-8986 (US)
(54) Method for downloading data to gaming devices
(57) Memories coupled to a gaming terminal, are
reprogrammed by a method and apparatus which
includes identification, negotiation, downloading and
verification information from an external information
source to a gaming terminal. Hardware devices are
used to identify gaming terminals or components.
GAMING TERMINAL
-127
COMMUNICATIONS
BOARD
VJ 24
126
130b
1288 \
GAMI CONTROLLER
BOARD
Ml
ACCEPTING
BOARD
128d
COIN
HANDUR6
BOARD
>130c
Ml
ACCEPTOR
132a
M28b
ton
HANDLE*
"~T~
132b
VIDEO
AUDIO
BOARD
BOARD
128c
VIDEO
132c
130f
AUDIO
OUTPUT
T~
132d
GAMING
GAMING
TERMINAL
• • •
TERMINAL
LOCAL
CONTROLLER
-1148
fl2b ifec
LAPTOP
128
LOCAL
CONTROLLER
114c-
LOCAL
CONTROLLER
CENTRAL
COMPUTER
T
-112a
FIG. 1A
Q.
LU
Primed by Xerox (UK) Business Services
2.16.7 (HRS)/3.6
1
EP 1 004 970 A2
2
Description
[0001] Cross-reference is made to U.S. Serial No.
09/088,205 (Attorney File No. 3735-905-CON) filed
June 1, 1998. which is a continuation of Serial No.
08/600,311 (for "PERIPHERAL DEVICE DOWNLOAD
METHOD AND APPARATUS" filed February 12, 1996),
both incorporated herein by reference.
10002] The present invention relates to a method
and apparatus for downloading information to a gaming
device and in particular, to a process for using a compu-
ter, directly or remotely, to transfer information to a gam-
ing device in a secure fashion.
BACKGROUND INFORMATION
[0003] Many current gaming machines are config-
ured with electronic components, commonly mounted
on one or more printed circuit boards (PCBs). Many
such electronic components use programming or other
information stored in memories. In at least one typical
configuration, a gaming terminal or gaming machine will
include a controller board, a communications board or
module, and one or more so-called peripheral boards
such as a display controller board, a currency acceptor
board, a coin handler board, and the like. Typically at
least one board, such as the game controller board,
includes a processor (e.g., a microprocessor) or other
computer unit which often operates based on program-
ming or other information (software) stored in a memory
such as one or more electronically erasable program-
mable read-only memories (EEPROMS). Such software
may be programmed or stored in the memory locations
during the manufacturing or assembly of the gaming
device. Additionally, software may be provided to
replace or supplement the software in a gaming device
which is in operation (in the field), e.g. to add new fea-
tures, implement new games and the like, and/or to cor-
rect programming errors. In either case, the new
software is transferred or "downloaded" from a source
(which may be, e.g.. a computer such as a workstation
personal computer, laptop computer, and the like) to the
"target" memory in a particular gaming terminal or
machine.
[0004] Downloading from one computer to another
is a process that is known, in general. In one previous
system, information from a host system such as a state
lottery host has been downloaded to a clerk validation
terminal (CVT). A clerk validation terminal is used for
verifying a ticket obtained from a lottery terminal e.g. to
verify a validation number, amount and the like before a
lottery ticket is paid, e.g. as an anti-courrterfeiting proce-
dure. However, downloading software to components of
gaming devices and/or to a plurality of gaming devices
or components thereof presents particular problems not
readily addressed by conventional downloading tech-
niques.
[0005] One aspect applicable to gaming devices is
the stringent regulatory oversight and control exercised
by regulatory authorities in many jurisdictions. In many,
and perhaps all, regulated gaming jurisdictions, down-
loading of software to a gaming terminal will not be per-
5 mitted without some assurance that the new software
will comply with local regulations.
[0006] For example, a gaming regulatory authority
in one jurisdiction may require assurance that down-
loading to, e.g., update bill acceptor software will result
io in a machine having bill acceptor software appropriate
(and approved) for that jurisdiction (and will not, e.g.,
run the risk of inadvertently and/or intentionally down-
loading bill acceptor software that was approved in a dif-
ferent jurisdiction).
is [0007] It is also commonly found that gaming
devices occur in a wide variety of configurations, such
as employing numerous different types of processors,
memories, game configurations , versions and types,
peripheral hardware and software and the like. Addition-
al ally, owing to differences in manufacturing dates, main-
tenance history and the like, gaming devices are often
encountered with a wide variety of different hardware
and software components which may not be apparent
(or may be discernable only with difficulty) from a visual
25 inspection of the gaming device, its components, or its
operation. For this reason, when it is desired to down-
load software to a particular gaming terminal, it is typi-
cally necessary to select a particular software version
for downloading, bearing in mind the types of software
so and hardware found on the particular gaming terminal,
lest the newly-downloaded software is incompatible with
the gaming terminal or results in operation which is not
approved by a particular jurisdiction. Additionally, it is
possible that the software which is to be downloaded is,
35 in fact, already present on a particular gaming terminal,
so that the download process represents a waste of
time and effort.
[0008] Although many types of memories can be
modified to store other or additional programs (such as
40 an erasable programmable read-only memory or
EPROM), in many previous devices this was often a
labor-intensive and time-consumptive procedure, some-
times involving removing the EPROM or other memory
device and reprogramming it in a separate device
45 and/or replacing it with a differently-programmed mem-
ory device. Many pin-type memory devices are config-
ured to tolerate only a limited number of removal and
insertion operations. Other memory devices are config-
ured for solder connection or are otherwise not readily
so replaceable, necessitating replacement of an entire
board to effect updating.
[0009] Such manual operations have, in the past,
typically required a significant investment of time, espe-
cially when a relatively large number of gaming termi-
55 nals are being programmed or reprogrammed. To make
matters worse, the time investment is typically made by
relatively highly-trained personnel. Such investment of
time by relatively highly-trained personnel represents a
3
EP 1 004 970 A2
4
significant expense involved in storing or updating gam-
ing terminal programming or other information which,
owing at least partly to the regulatory environment
found for gaming devices, was previously believed to be
a largely unavoidable cost. Furthermore, it has been
found that even relatively highly-trained personnel have
an undesirably high error rate when attempting to per-
form a download which may lead to inoperability or
improper operation of a gaming device, or violation of
gaming jurisdiction laws or rules and may require an
additional investment of time to correct such errors.
[0010] This situation is particularly burdensome in
the context of gaming devices in which it is sometimes
necessary or desirable to change the programming in a
large number of peripheral devices in a relatively short
amount of time. One example of such a situation is
when it is desired to reprogram a bill acceptor, e.g. to
thwart a previously-unknown counterfeiting scheme.
Previous systems which required labor-intensive and
time-intensive reprogramming methods increased the
risk of incurring losses during the time rt took to perform
this reprogramming for all the various gaming machines
(e.g., in a plurality of different casinos) or their various
components. An important feature of the invention is
that it allows for download of data to multiple gaming
devices simultaneously.
[0011] Another feature of many gaming devices
which affects the manner in which revisions of software
can or should be performed is the fact that gaming
devices are often configured to dispense money so
there is a potential for modifications or downloads to be
performed in an unauthorized fashion in such a manner
as to create unauthorized or improper payouts. This is a
potential which is typically not present in many other
types of downloads from one computer to another.
Accordingly, it is important, not only to gaming regula-
tory authorities but also to casinos or other game oper-
ators, to achieve a level of confidence that not only will
inadvertent (e.g. cross-jurisdictional) downloads be
avoided but there are procedures in place to avoid or
prevent intentional or unauthorized downloads.
[0012] Furthermore, previous reprogramming took
place in a relatively conspicuous manner requiring per-
sonnel to access the interior of each individual periph-
eral and/or terminal, often for an extended period of
time, thus potentially alerting the counterfeiters that they
had been detected and decreasing the likelihood of
using the new software to identify (possibly leading to
apprehension of) the counterfeiters. In addition, the time
during which a machine was being f itted with the new
programs was time that the machine was out of service
and not generating revenues.
[0013] In some situations, "rt may be advantageous
to update the programming of two or more different
gaming terminals and/or two or more different periph-
eral devices coupled to a single gaming device. Previ-
ous methods would, in this situation, typically have
required separately accessing each of the gaming ter-
minals and/or peripheral devices in order to modify or
update programming.
[0014] As noted, it is often desirable to reprogram
gaming terminals, e.g. to accommodate new games,
s regulatory changes, correct bugs or other programming
errors, install new features and the like. Preferably, this
should be accomplished with a minimum of down time
of gaming devices (which often are intended normally to
be accessible 24 hours a day) and a minimum of incon-
io venience to players.
[0015] Accordingly, it would be advantageous to
provide a method and apparatus for downloading pro-
gramming information in a manner which is less labor-
intensive and less costly than previously provided, pref-
75 erably without requiring individual direct access to each
peripheral device which is being reprogrammed, and
preferably while providing suff icient security and reliabil-
ity safeguards that fully and partially automatic down-
loads will be permitted by gaming regulatory authorities.
20
SUMMARY OF THE INVENTION
[0016] The present invention provides for securely
loading information, received from an external device
25 (such as a laptop or a networked central computer) to
one or more gaming devices. Preferably, the secure
downloading system provides identification, negotia-
tion, data transfer and verification features. Identifica-
tion involves obtaining information for characterizing the
30 hardware and/or software on a gaming terminal or other
target. The identification information can be used to pro-
vide assurance that the programming or other data to
be downloaded and/or the download procedures are
appropriate for the target device. Negotiation involves
35 providing information from the source to the target,
relating to the download, such as where to load, com-
pression information (if any) and the like. Preferably the
source requests approval from the target device before
data transfer begins. Preferably, data transfer is per-
40 formed block-wise with checking of each block. Verifica-
tion can be performed by the source requesting a digital
signature calculated from the transferred data, prefera-
bly based on a public key decryption algorithm.
[0017] In one embodiment, the update or modified
45 peripheral device program is received in the gaming ter-
minal (or other computing device) from an external
device (such as a hand-held or portable device or a cen-
tral computer coupled via a communications link) and is
downloaded from the gaming terminal controller board
so to one or mor coupled peripheral devices.
[0018] Preferably, the programming information is
downloaded in such a way as to reduce or minimize the
amount of down time or inconvenience to players. In
one embodiment, when the new peripheral program is
55 downloaded from a central computer to each gaming
terminal, the method avoids disabling all gaming termi-
nals at the same time, such as by waiting until the gam-
ing terminal is idle for a predetermined period before
3
5
EP 1 004 970 A2
6
downloading the new program to peripheral devices or
by cycling through various gaming terminals or groups
of gaming terminals so that a relatively small number of
the gaming terminals are disabled (for reprogramming)
at any one time. Additionally, the invention allows for 5
download to multiple gaming devices or peripheral
devices simultaneously.
BRIEF DESCRIPTION OF THE DRAWINGS
70
[0019]
Fig. 1 A is a block diagram depicting components of
a multi-terminal gaming system, including compo-
nents of a gaming terminal, of a type which may be is
used in connection with the present invention.
Fig. 1B is a block diagram of a plurality of gaming
terminals, each coupled to a plurality of peripheral
devices, and a central computer coupled to the 20
gaming terminals which can be used according to
an embodiment of the present invention;
Fig. 2 is a flow chart of a procedure for downloading
information according to an embodiment of the 25
present invention;
Fig. 3 is a block diagram of gaming terminals linked
to a central system, usable according to an embod-
iment of the present invention; 30
Fig. 4 is a block diagram of a gaming terminal
assembly and development system usable in
accordance with an embodiment of the present
invention; and 35
Fig. 5 is a flow chart depicting a download proce-
dure in accordance with an embodiment of the
present invention.
40
DETAILED DESCRIPTION OF THE PREFERRED
EMBODIMENT
[0020] Although the present invention can be used
in connection with many types of gaming terminals 45
either as stand-alone devices or coupled in any number
of different multi-terminal configurations, one example
of a gaming terminal 112a coupled, along with other
gaming terminals 112b,c, via one or more local control-
lers 114a,b,c to a central computer 116 is depicted in so
Fig. 1 A. In the embodiment of Fig. 1A, gaming terminal
112a (and, typically, all gaming terminals in the group)
includes a game controller board 122 which will typically
include, among other items, a microprocessor and a
memory such as an EEPROM storing programming 55
and/or other information for controlling an operation of
the controller board 122. Typically the hardware and
software of the game controller board 122 will contain
the information defining the type of game and making
determinations of the win/loss local outcome (as
opposed to, e.g., a progressive win/loss outcome) for
the gaming terminal 1 12a. Because of the central role of
the game controller board 122 in determining any mon-
etary payout, it is particularly important to assure the
presence of the correct software for the game controller
board to avoid improper or incorrect payouts and to
assure compliance with local regulatory authorities.
Although it is possible to combine numerous functions
onto a given board, typically numerous boards will be
provided in a gaming terminal for forming a plurality of
functions. In the depicted embodiment, the game con-
troller board communicates with a communications
board 124 which provides information to and, receives
the information from a local controller 114 and/or central
computer 1 1 6, for purposes such as monitoring use and
performance, assuring compliance, performing
accounting and similar functions, and facilitating imple-
mentation of progressive or other multi-terminal based
games or prizes. In one embodiment, the communica-
tions board 124 includes one or more ports by which a
laptop 128 or other computer may be coupled to the
gaming terminal 112a for, among other purposes,
downloading as described more fully below. In the
embodiment of Fig. 1 A, a plurality of peripheral boards
128 a-d communicate with the game controller board
122 and control various peripheral devices for perform-
ing various functions such as bill acceptor functions
132a, coin handling functions 132b, video functions
132c and audio output functions 132d. In many configu-
rations, some or all of the peripheral and other boards
128 a-d, 124 will contain EEPROMs or other devices for
storing software for running on microprocessors or
other computing devices on such boards.
[0021] As depicted in Fig. 1B, a computing device
such as one or more gaming terminals 1102a, 1102b
may be coupled to various peripheral devices
1 104a,b,c,d,e,f. Many types of peripheral deices can be
provided, including the currency acceptor as depicted
including, for example, printers, display screens or
devices, keypads and the like. More than three periph-
eral devices may be provided, or fewer may be pro-
vided, the gaming terminal or other computing device
may be housed in the same housing 1106a, 1106b as
the peripheral devices 1 104a-f, and more than two gam-
ing devices may be used in connection with the down-
load procedure. In one embodiment, download of
information to the gaming terminals 1102a. 1102b is
provided from a central computer 1108. However, it is
possible to use the present invention in connection with
stand-alone gaming terminals and peripherals which
are not connected to a central computer 1108.
[0022] In the depicted embodiment, each gaming
terminal includes a processor 1110a, 1110b, a memory
1112a, 1112b, and a communications module 1114a,
1 1 14b. In the depicted embodiment, the processor 1110
is coupled to both the memory 1 1 12 and the communi-
4
7
EP 1 004 970 A2
8
cations module 1114 and the memory and communica-
tions modules 1114, 1112 are coupled together to
permit communication therebetween. In one embodi-
ment, the processor 1110a is an Intel processor model
80960, although the invention can be used in connec- 5
tion with computing devices having other types of proc-
essors and in connection with gaming terminals which
are controlled by devices other than microprocessors
such as ASICS.
[0023] Following the establishment of the communi-
cation link 206, (Fig. 2) information is transferred from
the information source to one or more gaming terminals.
In one embodiment, if desired, the information is
encrypted before being transmitted to the gaming termi-
nal, particularly if the information is transmitted over a
local area or wide area network to avoid the possibility
of unscrupulous individuals gaining access to the infor-
mation. Many types of data transfer can be used includ-
ing serial and parallel transfer. In one embodiment, the
information which is downloaded may include informa-
tion within more than or different from information to be
used for reprogramming the memory of one of the cou-
pled peripherals. For example, the downloaded informa-
tion may contain new programming information for two
or more different peripherals coupled to a gaming termi-
nal and/or may include information for programming the
gaming terminal itself, in addition to, or rather than, one
or more of the peripherals.
[0024] In the strict regulatory environment for many
gaming devices, it is typically necessary to provide
assurance that approved and proper software is pro-
vided in the peripheral and other boards, in addition to
that provided on the game controller board.
[0025] Fig. 3 depicts an embodiment in which a net-
work interface system 312 is used to connect a gaming
terminal 1 12a. which may in turn be connected, such as
in a daisy-chain fashion, to other gaming terminals
112b, 112c in a group, via a cluster controller 314 to a
local server or controller 114. In the depicted embodi-
ment, the gaming terminal 112a includes a central or
controller (CPU) board 122 and one or more peripheral
controller boards 128e, 128f. Although the present
invention can be used in connection with a wide variety
of systems and applications, in the depicted embodi-
ment, while the gaming terminals 112 a-c would typi-
cally be located in a gaming area such as a gaming
region of a casino, the local servers 114 and associated
devices would typically be located in a casino local
office 318. The local server 114 (and, in some embodi-
ments, additional local servers for the same or other
casinos) may be coupled, e.g. via modems 322a, 322b
over a LAN line or wireless link 324 to a central compu-
ter 1 16 typically located in a central office 325 different
from the local office 31 8 of the casino. As depicted, pref-
erably each gaming terminal 112 also includes a port or
other connector for coupling a computer such as a lap-
top computer 128 e.g. via a ftoer-optic. cable or other
connector 326. Thus, as illustrated in Figs. 1A, 1B and
3, transferring programming data or other information
according to the present invention may be used in con-
nection with transferring information from a remote loca-
tion such as a central computer 116 or, in some cases,
local server 114 to a gaming terminal 112. This proce-
dure provides the desirable ability to download pro-
grams or other information to one, some, all or various
combinations of the gaming machines 112a< con-
nected to the network, preferably substantially simulta-
neously, if desired. Such an ability is particularly useful
when the target devices 112 may be relatively numer-
ous, such as in the case of a casino or multi-casino net-
work and/or when target devices are spread across a
relatively wide region such as a plurality of lottery termi-
nals. The download rates in such a system would typi-
cally be.governed by _the_ communication rates of the
network or telecommunication system 324. 312. Also as
depicted in Figs. 1 A and 3. it is possible, in addition to or
in place of downloading from a central computer or local
controller, to download from a computer, such as a lap-
top 128, coupled directly to a gaming terminal. In one
embodiment, the laptop computer 128 is coupled by a
ffoer-optic connection 326 directly to the game control-
ler board 122. if the programming data or other informa-
tion is intended for storing on a peripheral controller
(end use device a-f) the data, in this embodiment, is
channeled through the game controller board (in a
pass-through mode) to the peripheral controller board, if
desired. This procedure can be used, e.g., on a casino
floor (for repairing or updating gaming terminal soft-
ware) at a lottery location, or in the manufacturing proc-
ess, such as in a final assembly stage. Preferably, such
a download method does not require peripheral control-
lers 128a-f or other boards or components to be
removed from the machine and can be used on
machines that have no suitable network interface 312.
[0026] In addition to downloading programming or
other information to gaming terminals or similar devices
at a casino location, the present invention can also be
used in connection with downloading information during
a gaming terminal or similar device manufacturing proc-
ess. Fig. 4 depicts a system usable in subassembly or
final assembly downloading, e.g., in a gaming terminal
manufacturing environment. Fig. 4 includes a plurality of
computers such as workstation computers, network
server computers, and/or PC-type computers coupled
by network lines and a firewall 452 in a manner well-
known to those of skill in computer network technolo-
gies.
[0027] At various stages in employing the system of
Fig. 4, programming data or other information is stored
in a number of different storage systems such as data
bases (typically providing storage on hard drives or
other well-known storage media). In the depicted
embodiment, information, during program design proc-
ess, is held in an engineering database 454. And soft-
ware and firmware engineers use and modify such
information via computers 456, 458 having at least indi-
15
20
25
30
35
40
45
50
5
9
EP 1 004 970 A2
10
rect access to engineering database 454. Preferably,
programs or other data which are still in the develop-
ment phase are restricted to the engineering database
454 and are not stored in other databases. At some
point, engineering will release the program or other
information to product assurance 462 which, after
review, will submit the programming or data to a gaming
jurisdiction for approval. After the program or data is
approved by the gaming jurisdiction, the program is cop-
ied to a production download server 466 and, preferably,
stored in a released database 468. Information about
the approved program is provided to a customer order
system 472 and other systems such as engineering
474a and product assurance 474b. Although released
programs may be provided in various forms such as on
CD ROM 476a via a CD duplicator 476b, Fig. 4 also
illustrates a system for downloading programming data
or other information as part of a gaming terminal
assembly or fabrication system. The programming or
data may be loaded onto boards or other subassem-
blies 478, e.g. via a translator/power assembly 482 and
download terminal 484 or may be loaded into one or
more gaming terminals 486a, b, e.g. via connection to a
communication board for downloading, in turn, to target
peripheral devices or other subassemblies within the
gaming terminals 486a, 486b. e.g. via a download ter-
minal 488.
[0028] Downloading on the fabrication or assembly
line, as depicted in Fig. 4 in the strict regulatory environ-
ment for many gaming devices, it is typically necessary
to provide assurance that only approved and proper
software and data is used in the gaming terminals,
including peripheral and other boards (in addition to that
provided on, e.g., the game controller board). Depend-
ing on the nature of the download, it will be advanta-
geous, in performing assembly line downloading, to
recognize or distinguish different boards, e.g. to obtain
information regarding characteristics of the Board
and/or its identity or history.
[0029] In the environment of the system of Fig. 4, a
host device such as the download terminal 484 con-
nects directly to the subassembly or through a test box
482 that provides the physical connection and power. A
download terminal 488 can also be used to download
information to boards which have already been assem-
bled into gaming terminals 486a,b (which, provide phys-
ical connection and power and thus can be used for
downloading without a test box 482). The host device
484, 488 can be network-connected as depicted or can
be a standalone device. In a standalone configuration,
the program information can be stored on a CD ROM
476a or other storage medium. The depicted download
system can be used on the production floor as depicted
or, at a service bench, e.g. for repair purposes. Prefera-
bly the download media 492a, 492b are configured to
facilitate downloading of information (as opposed to,
e.g., the components 312. 324 of a casino or multi-
casino system which may be configured for other pur-
poses such as data gathering, progressive game sys-
tems and the like) and can thus be configured or
optimized to achieve relatively high rates of data trans-
fer.
5 [0030] In order to facilitate security in downloading
information, preferably so as to achieve approval for
such downloading by gaming regulatory bodies, a
downloading process as depicted in Fig. 5 may be used.
According to the process of Fig. 5, an initial or early
10 stage of the process involves identification. Although it
may be possible to configure gaming terminals to pro-
vide identification using only software procedures (such
as by providing encrypted identification data, hand
shaking procedures and the like), according to one
75 embodiment, it is preferred to provide a gaming terminal
with one or more hardware-based identification compo-
nents such as one or more one-time programmable
and/or add-only memory devices for storing information
which identifies or characterizes the gaming terminal or
20 components thereof. In one embodiment, a gaming
identification apparatus and system can be used in
accordance with that described in U.S. Patent Applica-
tion Serial No. (Attorney File No.
3735-924) for "GAMING DEVICE IDENTIFICATION
25 METHOD AND APPARATUS" filed on even date here-
with and incorporated herein by reference. Providing
one or more gaming terminals with such identification
capability means that such gaming terminals have been
placed in a "download ready" configuration according to
30 an embodiment of the invention.
[0031] As depicted in Fig. 5, in the identification
phase, the source device sends a message to the target
device requesting identification information 512. When
downloading is intended to download information to two
35 or more devices, the identification (and/or the down-
load) can be performed serially, by polling each device,
or a single request addressing all target devices may be
sent. If the identification response is not received 514,
the system enters a failure mode and no connection is
40 established 516. The identification response which is
acceptable can include many types of information,
examples of which include serial or other hardware
identification numbers, manufacturing ID information or
codes, manufacturer name, hardware or software revi-
45 sion designations, date of manufacture, installation,
sale, shipping and the like, date of software revision,
software file size, memory addresses and the like. Pref-
erably, a starting address for the program to be down-
loaded is returned. Preferably, data integrity information
so such as a CRC (cyclic redundancy check) signature is
returned. The identification information returned in
response of the request 512 is used to verify that the
information to be downloaded and/or the download pro-
cedures (such as data transfer rates) are appropriate for
55 the hardware and software present in the target
devices. For example, the returned identification infor-
mation can be used to verify that the gaming jurisdiction
to which the gaming terminal is subject, has approved
6
11
EP 1 004 970 A2
12
the software which is to be downloaded, that the soft-
ware which is to be downloaded is compatible with soft-
ware or hardware already present in the gaming
terminal and the like. If, on the basis of the identification
information, it is determined that the gaming terminal
already possesses the download information, the down-
load step can be skipped.
[0032] Following the identification phase, a negotia-
tion phase includes the sending of a negotiation mes-
sage 518. The negotiation message includes
information which is used to enable or facilitate the
download procedure. For example, it may be necessary
to inform the target device of the location or locations in
memory where the downloaded information is to be
stored, the size of the download file, the data transfer
"rate, whetherany special transfer procedures such as
compression, decompression, encryption, decryption
and the like, are required. Preferably the negotiation
message includes (or is interpreted to include) a
request for a response such as an approval response,
from the target device or devices. For example, waiting
for approval from the target device is useful to, e.g..
avoid initiating a download when there is someone cur-
rently playing the game, or when the gaming terminal is
in an error mode. In one embodiment, if there are cur-
rent credits on a gaming terminal, the gaming terminal
is assumed to be in an actively played state. As
depicted in Fig. 5. if the approval or "ready" response
522 is not received, a failure state is declared and error-
handling procedures are required, such as outputting a
notification to an operator and/or reinitiating the down-
load procedure. If the ready response is received, the
download phase can begin.
[0033] In the embodiment of Fig. 2, the data is
transmitted in a block fashion, i.e., by transmitting a pre-
determined number of bits of the information (such as
1024 bits) from the source to the gaming terminal 208,
and then checking for errors in the block 210. As will be
well-known to those of skill in the art, other block lengths
can also be used. Preferably, the data is transmitted by
a serial transmission protocol. In one embodiment, ver-
ification or other checking is performed to assist in
detecting data transmission or other errors. A number of
well-known verification or error detection schemes can
be used, such as a CRC. One type of CRC check is
described in U.S. Patent Application Serial No:
08y348.268, filed November 30, 1994, for "METHOD
AND APPARATUS FOR VERIFYING THE CONTENTS
OF A STORAGE DEVICE" (incorporated herein by ref-
erence). These or other verification or error checking
schemes can be adapted for use in the present inven-
tion in a manner that will be apparent to those of skill in
the art, after understanding the present disclosure.
[0034] If there are errors detected in the block of
information (using, e.g. a cyclic redundancy check error
detection routine, or other error detection routines well-
known to those of skill in the art), the procedure loops
back 212 to retransmit the block Preferably, after some
blocks have been successfully downloaded, errors in
subsequent blocks do not necessarily require reinitiat-
ing the download from the beginning but, only requires
downloading, anew, those blocks which have not thus
5 far been successfully transmitted. In one embodiment,
only a limited number (e.g., 3) of the re-tries are permit-
ted before a "total error" is declared and, e.g., the device
is put out of service. At the end of each block transmis-
sion, it is determined 528 whether all blocks have been
w transmitted 214. If not, the procedure loops back 216 to
transmit the next block. Preferably, following the CRC or
other error detection for each block an overall CRC or
other error check (e.g. digital signature) is performed
after all blocks have been downloaded to the gaming
is terminal. Thus, at the end of the first portion of the pro-
cedure 202, the entire desired information will have
been transmitted, block-wise, with error detection, from
the information source 108 to at least one gaming termi-
nal 102.
20 [0035] After all blocks have been successfully
downloaded, a verification stage is initiated by sending
a message to the target device (or devices) which
requests certain verification information 532. In one
embodiment, the verification information is based on
25 (such as being calculated from) information stored in
the target device, and preferably including at least some
of the downloaded information. For example, a CRC or
other digital signature based on some or all of the down-
loaded information can be used. Preferably, the portion
30 of the information which is used as the basis for calcu-
lating verification information or signature is selected in
a fashion that is not readily known or predictable in
advance or by unauthorized persons. For example,
rather than always calculating the verification signature
35 based on information starting from a predetermined
and/or unchanging starting address, it is preferred that
the verification signature be calculated from a stalling
address which is different for different download opera-
tions and/or different terminals. In one embodiment, the
40 starting address is randomly selected and communi-
cated (e.g. as part of the verification request message
532). For further promoting confidence in the verifica-
tion system, it is possible to use a digital signature cal-
culation procedure which is based on a private key
45 value which is preferably randomly selected by the
source computer and used to encrypt part of the down-
load information. In response, the gaming terminal uses
a known procedure (such as a decryption calculation
procedure) to calculate the verification signature. If the
so calculated verification signature matches the expected
verification signature, verification is considered to have
been accomplished.
[0036] Upon receiving a valid verification 534, the
download session can be completed. If a valid verifica-
55 tion is not obtained, a failure is declared 538 and an
error-handling procedure can be initiated e.g. to provide
notification to operators and/or reinitialize the download
procedure.
7
13
EP 1 004 970 A2
14
[0037] As will be apparent to those of skill in the art
after understanding the present disclosure, the particu-
lar procedures illustrated in Fig. 5 may be modified or
varied in a number of ways. For example, although it is
believed a high and desirable level of security is
achieved when all four phases (identification, negotia-
tion, downloading and verification) are used, it is possi-
ble to provide for downloading procedures in which one
or more of the phases is eliminated or abbreviated. For
example, it would be possible to provide for a somewhat
secure download procedure without including a verifica-
tion step. Additionally, the download method according
to the present invention is not necessarily strictly limited
to the order of steps illustrated in Fig. 5. For example, it
may be possible to perform some or all negotiation
- steps prior to some or all identification steps: Some or
all of the steps or phases described in connection with
Fig. 5 can be used in connection with purposes other
than downloading, such as using identification and/or
verification transactions to query and check loaded pro-
grams e.g. by regulatory agencies.
[0038] In light of the above description a number of
advantages of the present invention can be seen. The
present invention makes it feasible to reduce or elimi-
nate the need for manual operations (such as physically
visiting, and opening gaming terminals, analyzing, test-
ing and/or replacing boards or components) in connec-
tion with program updating, replacement, modification
and the like, while maintaining a high level of security
and reliability. The present invention provides the ability
to query a gaming terminal to obtain hardware and soft-
ware information for regulatory, maintenance, repair,
inventory, and similar purposes. The present invention
makes it feasible to download information to one or
many machines at the same time. The downloaded
information may be information particularly directed to
peripheral devices (such as a updating a bill acceptor
program) and/or may involve changing features of a
game such as upgrading or adding a bonus game or
similar feature to a gaming terminal. The present inven-
tion is useful in facilitating the standardization of pro-
gramming or other data across a variety of gaming
terminals. The present invention provides the ability to
permit local customers such as individual casinos or
similar locations, to download their own customized
video and/or audio files (e.g.. using the security features
described to provide regulators with assurance that
downloading of such files will not change or result in
unacceptable modifications to other features of game
operation). The present invention facilitates the ability of
casinos, game operators, game manufacturers and the
like to obtain and maintain accurate inventories on pro-
grams and board modules in gaming machines. The
present invention facilitates locating or identifying par-
ticular printed circuit boards (or particular classes or
types of PCBs or other components on a casino floor).
The present invention facilitates the secure and reliable
automatic electronic loading of programs into machines
in a manufacturing (assembly line) environment e.g.
based on customer orders, with reduction or elimination
of manual steps in such process. The present invention
facilitates querying and verifying the presence and
5 nature of hardware or software components thereof e.g.
at the end of an assembly or fabrication process such
as before shipping to customers, upon receipt, and the
like. The present invention facilitates a verification of
- installed programs e.g. by gaming and/or lottery regula-
rs tory agencies.
[0039] Providing downloading from a central com-
puter to individual gaming terminals has a number of
advantages. The download can be easily performed on
a number of gaming terminals at the same time, so that
is the amount of time required to perform the download for
" all the various gaming terminals is reduced. Further, it is
not necessary to have personnel physically walk from
terminal to terminal, and perform a download at each
terminal, so that labor costs are also reduced.
20 [0040] The present invention makes it possible to
provide for new or additional programming for peripheral
devices in a manner which is secure, less labor inten-
sive, less time-consumptive, and less obtrusive than
previous methods. The present invention makes H pos-
25 sible to download the programming to a plurality of gam-
ing terminals (or other computing devices) substantially
simultaneously.
[0041] A number of variations and modifications of
the invention can also be used. In addition to download-
30 ing computer program information, the invention can be
used to download data such as data which defines the
manner in which peripherals accept currency (or, detect
counterfeiting). In addition to a central computer and a
portable computer hand-held device, the information
35 may be downloaded to the gaming terminal from other
devices, such as a cluster controller. When reprogram-
ming of two or more peripherals attached to a given
gaming terminal is desired, in one embodiment, the new
programming information for each peripheral to be
40 reprogrammed is downloaded to the gaming terminal
and the gaming terminal begins downloading the infor-
mation to the attached peripherals preferably only after
all information has been downloaded to the terminal. In
this way, only a single session of downloading to the
45 gaming terminal is needed in order to provide eventual
updating of two or more coupled peripherals.
[0042] In situations in which security is a concern,
such as systems in which money handling occurs ( e.g..
gaming terminals, lottery terminals, and the like) the
so information may be encrypted when it is transferred to
the computing device and is decrypted either in the
gaming device or in one or more peripheral devices.
[0043] Preferably the transactions are controlled
and monitored automatically e.g. using an information
55 file generated from information from firmware, mechan-
ical, configuration, jurisdiction approvals and production
bill of materials. Preferably such an information file is
always encrypted, although program or other download
8
15
EP 1 004 970 A2
16
data can be compressed and/or encrypted e.g. depend-
ing upon jurisdiction requirements. In one embodiment
the information file contains a number of fields including
the filename, source directory or path, destination direc-
tory, version number or other version designator, CRC
value, platform code (e.g. indicating the type of gaming
terminal), target code (e.g. indicating the type of periph-
eral (e.g. bill validator)), agency approval(s), and game
name or other game indicator.
[0044] Although the procedures and steps illus-
trated and described in connection with Fig. 5 are
believed to provide a high level of security, it is believed
that security of the entire system is particularly
enhanced by the combination of the identification, espe-
cially hardware and/or memory-based identification
(residing on the gaming terminal or gaming terminal
components) and the procedures and steps illustrated
in Fig. 5, particularly when .combined with an informa-
tion file as described.
[0045] In the embodiment of Fig. 1 B it is possible to
download the information to two or more gaming termi-
nals 102a, 102b, substantially simultaneously. However,
in some configurations, it will be necessary to suspend
use of the gaming terminal during the downloading
process. In this case, it may not be desirable to suspend
operation of all gaming terminals at the same time.
Therefore, in one embodiment information is down-
loaded from the central computer 1 08 to a first subset of
the connected gaming terminals (during which time, use
of that subset of gaming terminals is suspended), and
following downloading to that subset of gaming termi-
nals the first set of gaming terminals will be available for
normal use, and downloading to the second subset of
gaming terminals will be initiated, suspending use of the
second subset of gaming terminals during downloading
thereof. The process is repeated for various subsets of
the gaming terminals until the information has been
downloaded to all desired gaming terminals. In some
situations, it may be desired to download information
only to some of the connected gaming terminals. For
example, if the information to be downloaded is
intended to thwart passing of $10 counterfeit bills, there
would be no need to download the new information to
gaming terminals which are connected to currency
acceptor peripherals that accept only $5 bills.
[0046] In the embodiment depicted in Fig. 1 B, each
gaming terminal 1102a, 1102b is coupled to a central
computer 1 1 08. The coupling may be by communication
link 1124, such as a common local area network con-
nection (e.g., Ethernet, Token Ring, LocalTalk, etc.), a
wide area network and the like, using any of a variety of
physical media such as cables, optical fibers, radio,
infrared or other wireless links and the like. The type of
communication module 1 1 14a, 1 122, which will be used
depends on the type of communication link which is
being used and may include, e.g., commercially-availa-
ble network boards and supporting software, modems,
universal asynchronous receiver/transmitter (UART)
devices and the like.
[0047] As noted above, in some configurations it
may be necessary to suspend operation of the gaming
terminal during downloading from the information
5 source to the gaming terminals, and/or from the gaming
terminal to the peripheral. In one embodiment, the gam-
ing terminal will provide an indication of the suspended
status, so that a user will have the option to move to a
different gaming terminal or to await reactivation. In one
10 embodiment, the display 1 03 will provide an estimate of
the amount of time before reactivation of the terminal.
This estimate can be based, if desired, on an empiri-
cally-derived relationship between the average down-
load time and the number of blocks of information to be
is downloaded, (or other indication of the size of the infor-
mation to be downloaded).
[0048] In situations in which operation or use of the
gaming terminal must be suspended while the informa-
tion is being downloaded to peripherals, it may be desir-
20 able to configure the gaming terminal to wait until there
is an apparent idle period on the gaming terminal before
commencing downloading to a peripheral. Thus, in the
procedure of Fig. 2, the gaming terminal will determine
whether it has been idle for at least a predetermined
25 minimum period (such as about one minute. 220). for
example, when the gaming terminal is an electronic slot
machine, the gaming terminal can use at timer circuit to
determine if there has been any wager placed or any
handle-pull or electronic equivalent thereof) for the pre-
30 determined period. If the gaming terminal has not been
idle for at least the predetermined period, the gaming
terminal will optionally wait another predetermined
period 221 (such as about one minute) before testing to
determine if the gaming terminal is idle. Once the gam-
35 ing terminal is idle, the gaming terminal can commence
procedures to transmit information to appropriate
peripherals 224, preferably in a blockwise fashion, with
error checking.
[0049] The present invention, in various embodi-
40 ments, includes components, methods, processes, sys-
tems and/or apparatus substantially as depicted and
described herein, including various embodiments, sub-
combinations, and subsets thereof. The present inven-
tion, in various embodiments, includes providing
45 devices and processes in the absence of items not
depicted and/or described herein or in various embodi-
ments hereof, including in the absence of such items as
may have been used in previous devices or processes,
e.g. for achieving ease and reducing cost of implemen-
50 tation.
[0050] The foregoing discussion of the invention
has been presented for purposes of illustration and
description. The foregoing is not intended to limit the
invention to the form or forms disclosed herein.
55 Although the description of the invention has included
description of one or more embodiments and certain
variations and modifications, other variations and modi-
fications are within the scope of the invention, e.g. as
9
17
EP 1 004 970 A2
18
may be within the skill and knowledge of those in the art,
after understanding the present disclosure. It is
intended the appended claims be construed to include
alternative embodiments to the extent permitted.
5
Claims
1 . A method for downloading data from a source to a
gaming device, wherein said gaming device is sub-
ject to governmental regulations, the method com- 10
prising;
transmitting first information to said source,
identifying at least a first hardware component
of said gaming device; 75
verifying that said data is appropriate for said at_
least first hardware;
transmitting second information from said 20
source to said gaming device describing at
least a first characteristic of said download;
transmitting third information from said gaming
device to said source indicating that said gam- 25
ing device is configured to receive said down-
load;
transmitting said data from said source to said
gaming device; 30
calculating a signature based at least partially
on said data and transmitting said signature to
said source; and
35
comparing said signature with a signature
available to said source.
2. A method as claimed in Claim 1 wherein said first
information includes information identifying soft- 40
ware stored on said gaming device.
3. A method as claimed in Claim 1 further comprising
outputting a message when said first information
indicates said data is already stored on said gaming 45
device.
4. A method as claimed in Claim 1 wherein said gam-
ing device includes a plurality of circuit boards, and
wherein said source is coupled to a first of said cir- so
curt boards and wherein said first information iden-
tifies hardware on at least a second of said circuit
boards.
5. A method as claimed in Claim 1 wherein said gam- 55
ing device includes a plurality of circuit boards
which contain a non-programmable memory storing
hardware identification information.
6. A method, as claimed in Claim 1 , wherein said data
includes data for programming at least a first pro-
grammable memory chip.
7. A method, as claimed in Claim 1 , wherein said step
of transmitting said data from said source to said
gaming device uses a serial data transmission pro-
tocol.
8. A method, as claimed in Claim 1 , wherein said step
of calculating a signature comprises calculating a
signature based on data stored in a memory, begin-
ning with a random address in said memory.
9. A method, as claimed in Claim 1 , wherein said step
of calculating a signature comprises calculating a
signature using a seed value, wherein said seed
value is available to both said source and said gam-
ing terminal.
10. Apparatus for downloading data from a source to a
gaming device, wherein said gaming device is sub-
ject to governmental regulations, the apparatus
comprising;
means for transmitting first information to said
source, identifying at least a first hardware
component of said gaming device;
means for verifying that said data is appropri-
ate for said at least first hardware;
means for transmitting second information from
said source to said gaming device describing at
least a first characteristic of said download;
means for transmitting third information from
said gaming device to said source indicating
that said gaming device is configured to receive
said download;
means for transmitting said data from said
source to said gaming device;
means for calculating a signature based at
least partially on said data and transmitting
said signature to said source; and
means for comparing said signature with a sig-
nature available to said source.
11. Apparatus as claimed in Claim 10 wherein said first
information includes information identifying soft-
ware stored on said gaming device.
12. Apparatus as claimed in Claim 10 further compris-
ing means for outputting a message when said first
information indicates said data is already stored on
10
19
EP 1 004 970 A2
said gaming device.
13. Apparatus as claimed in Claim 10 wherein said
gaming device includes a plurality of circuit boards,
and wherein said source is coupled to a first of said 5
circuit boards and wherein said first information
identifies hardware on at least a second of said cir-
cuit boards.
14. Apparatus as claimed in Claim 10 wherein said 10
gaming device includes a plurality of circuit boards
which contain a non-programmable memory storing
hardware identification information.
15. Apparatus, as claimed in Claim 10. wherein said is
- data includes data for programming at least a first
programmable memory chip.
16. Apparatus, as claimed in Claim 10, wherein said
means for transmitting said data from said source 20
to said gaming device uses a serial data transmis-
sion protocol.
17. Apparatus, as claimed in Claim 10, wherein said
means for calculating a signature comprises means 2s
for calculating a signature based on data stored in a
memory, beginning with a random address in said
memory.
18. Apparatus, as claimed in Claim 10, wherein said 30
means for calculating a signature comprises means
for calculating a signature using a seed value,
wherein said seed value is available to both said
source and said gaming terminal.
35
19. Apparatus, as claimed in Claim 10. wherein said
means for calculating a signature comprises means
for calculating a digital signature based on data
stored in memory using a public key encryption
decryption algorithm. 40
11
EP 1 004 970 A2
12
EP 1 004 970 A2
CENTRAL
COMPUTER
1108
GAMING TERMINAL
1110a'
1.104a
CURRENCY
ACCEPTOR
1132a
processor
> cuius
PROCESSOR
X
1118a
1116a
mmon
cDnunoiicanoBS
9=
I
COIN HANDLER /
PROCESSOR
X
1118b
1116b
DIEM
1122a'
1122b
-103
-1102a
-1112a
-1114a
1104b
/1132b
1106a.
1104d
• • •
1132c
1104c
PERIPHERAL
PROCESSOR
X
•1118c
1116c
commsnicanoss
1122c-
1106c~-J
GAMING TERMINAL
1110b-
1104d
1104e
PROCESSOR
n
DISPU?
EHHB1
CURRENCY
ACCEPTOR
PROCESSOR
X
-1118d
1116d
Hill?
cQMOticanois
1122d
X
COIN HANDLER
PROCESSOR
in
X
1118e
■1116b
HENRI
coraraooiEJiioiis
-103
-1102b
-1112b
-1114b
1104h
1106b.
1104f,
PERIPHERAL
• • •
PROCESSOR -1118f
1116f
HEMOIT
EomraoDicinras
1122e
1122f
FIG. IB
13
EP 1 004 970 A2
ESTABLISH COMMUNICATION
LINK WITH INFORMATION
SOURCE
206
END COMMUNICATIONS
LINK TO SOURCE
/
218
-x j 220
HAS
GAMING TERMINAL BEEN IDLE"
JOR AT LEAST A MINIMUM.
PERIOD?
WAIT
222
204
TRANSMIT INFORMATION TO
APPROPRIATE PERIPHERAL®,
BLOCKWISE, WITH ERROR
CHECKING
/
224
FIG. 2
14
EP 1 004 970 A2
322b X jfooooi]
325
116
CENTRAL SYSTEM
CENTRAL OFFICE
FIG. 3
15
EP 1 004 970 A2
16
EP 1 004 970 A2
v
IDENTIFICATION PHASE:
SEND DEVICE ID REQUEST
512
1
516
FAIL NO CONNECTION
ESTABLISHED
NEGOTIATION PHASE: /518
SEND NEGOTIATION MESSAGE
DOWNLOAD PHASE:
SEND DOWNLOAD MESSAGE
NO
216
T
528
DONE?
YES
VERIFICATION PHASE:
SEND DEVICE ID REQUEST
END
SESSION
'532
524
FAIL* NO RESPONSE
FROM TERMINAL
FAIL BAD
DOWNLOAD
538
FIG. 5
17
THIS PAGE BUNK (usnoj